// 角色管理模块的接口

import request from '@/utills/request'
import type {MenuResponseData,RoleResponseData,RoleData} from './type'

// 枚举地址
enum API{
    // 获取全部的职位的接口
    ALLROLE_URL='/admin/acl/role/',
    // 新增职位的接口
    ADDROLE_URL='/admin/acl/role/save',
    // 更新已有的职位
    UPDATEROLE_URL='/admin/acl/role/update',
    // 获取全部的菜单和按钮
    ALLPERMISSION_URL='/admin/acl/permission/toAssign/',
    // 给相应的职位分配权限
    SETPERMISSSION_URL='/admin/acl/permission/doAssign/?',
    // 删除已有的职位
    REMOVEROLE_URL='/admin/acl/role/remove/'
}

// 获取全部的角色接口
export const reqAllRoleList=(page:number,limit:number,roleName:string)=>request.get<any,RoleResponseData>(API.ALLROLE_URL+`${page}/${limit}?roleName=${roleName}`)
// 添加职位与更新已有的职位的接口
export const reqAddOrUpdateRole=(data:RoleData)=>{
    if(data.id){
        return request.put<any,any>(API.UPDATEROLE_URL,data)
    }else{
        return request.post<any,any>(API.ADDROLE_URL,data)
    }
}
// 获取全部菜单和按钮权限的接口
export const reqAllMenu=(roleId:number)=>request.get<any,MenuResponseData>(API.ALLPERMISSION_URL+roleId)
// 给相应的职位下发权限
export const reqSetPermission=(roleId:number,permissionId:number[])=>request.post(API.SETPERMISSSION_URL+`roleId=${roleId}&permissionId=${permissionId}`)
// 删除已有的职位
export const reqRemoveRole=(roleId:number)=>request.delete<any,any>(API.REMOVEROLE_URL+roleId)